package ssen.mvc.base {
import org.swiftsuspenders.Injector;

import ssen.mvc.core.IInjector;

public class Injector implements IInjector {
	private var injector:org.swiftsuspenders.Injector;

	public function Injector() {
		injector=new org.swiftsuspenders.Injector;
	}

	/** @inheritDoc */
	public function dispose():void {

	}

	/** @inheritDoc */
	public function createChild():IInjector {
		return null;
	}

	/** @inheritDoc */
	public function deleteChild(injector:IInjector):void {

	}

	/** @inheritDoc */
	public function getChildren():Vector.<IInjector> {
		
		return null;
	}

	/** @inheritDoc */
	public function getInstance(ask:Class, named:String=""):* {
		return injector.getInstance(ask, named);
	}

	/** @inheritDoc */
	public function getParent():IInjector {
		return null;
	}

	/** @inheritDoc */
	public function hasMapping(ask:Class, named:String=""):Boolean {
		return injector.hasMapping(ask, named);
	}

	/** @inheritDoc */
	public function injectInto(instance:Object):void {
		injector.injectInto(instance);
	}

	/** @inheritDoc */
	public function instantiate(ask:*):* {
		return injector.instantiate(ask);
	}

	/** @inheritDoc */
	public function mapClass(ask:Class, useClass:Class, named:String=""):void {
		injector.mapClass(ask, useClass, named);
	}

	/** @inheritDoc */
	public function mapSingleton(ask:Class, useClass:Class, named:String=""):void {
		injector.mapSingletonOf(ask, useClass, named);
	}

	/** @inheritDoc */
	public function mapValue(ask:Class, useValue:*, named:String=""):void {
		injector.mapValue(ask, useValue, named);
	}


}
}
